package com.example.cmh.mapper;

import com.example.cmh.pojo.News;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface NewsMapper {
    int insert(News news);
    int deleteById(Integer newsId);
    int updateById(News news);
    List<News> selectByCondition(@Param("newsTitle") String newsTitle,
                                @Param("author") String author,
                                @Param("newsSummary") String newsSummary,
                                @Param("newsImagePath") String newsImagePath);
    News selectById(Integer newsId);
    
    // 分页查询新闻列表
    List<News> selectWithPage(@Param("newsTitle") String newsTitle,
                              @Param("author") String author,
                              String newsSummary, @Param("newsStatus") Integer newsStatus,
                              @Param("creatPersonId") Integer creatPersonId,
                              @Param("offset") int offset,
                              @Param("limit") int limit);
    
    // 统计符合条件的新闻总数
    long count(@Param("newsTitle") String newsTitle,
               @Param("author") String author,
               @Param("newsStatus") Integer newsStatus,
               @Param("creatPersonId") Integer creatPersonId);
    
    // 更新新闻审核状态
    int updateStatus(@Param("newsId") Integer newsId, @Param("status") Integer status);
} 